import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;

public class Day_five {

    //孩子们的游戏
    //描述
    //    每年六一儿童节，牛客都会准备一些小礼物和小游戏去看望孤儿院的孩子们。其中，有个游戏是这样的：
    //    首先，让 n 个小朋友们围成一个大圈，小朋友们的编号是0~n-1。然后，随机指定一个数 m ，让编号为0的小朋友开始报数。
    //    每次喊到 m-1 的那个小朋友要出列唱首歌，然后可以在礼品箱中任意的挑选礼物，并且不再回到圈中，
    //    从他的下一个小朋友开始，继续0... m-1报数....这样下去....直到剩下最后一个小朋友，可以不用表演，并且拿到牛客礼品，
    //    请你试着想下，哪个小朋友会得到这份礼品呢？
    //     ->0->1->2->3->4-
    //     I              I
    //     I<-------------I   由0-4这5个数字组成的圆圈
    //数据范围：1≤n≤5000，1≤m≤10000
    //要求：空间复杂度O(1)，时间复杂度O(n)
    //示例1
    //输入：
    //5,3
    //返回值：
    //3
    //2 0 4 1   3

    //示例2
    //输入：
    //2,3
    //返回值：
    //1
    //说明：
    //有2个小朋友编号为0，1，第一次报数报到3的是0号小朋友，0号小朋友出圈，1号小朋友得到礼物

    //示例3
    //输入：
    //10,17
    //返回值：
    //2
    //算法思路：
    //解法⼀：模拟。这⾥不多赘述，⽤数组或者链表模拟均可。但是数据量⼤的话会超时......
    //解法⼆：数学规律。通过画图，可以找到相邻两次删除坐标的规律。通过递推关系，求出剩下的最后⼀个数是哪个。
    public class Solution1{
        public int LastRemaining_Solution(int n,int m){
            int f = 0;
            for (int i = 2; i <= n; i++) {
                f = (f+m)%i;
            }
            return f;
        }
    }



    //腐烂的苹果（多源BFS）
    //描述
    //给定一个n×m  的网格，其中每个单元格中可能有三种值中的一个 0 , 1 , 2。
    //其中 0 表示这个格子为空、1 表示这个格子有一个完好的苹果，2 表示这个格子有一个腐烂的苹果。
    //腐烂的苹果每分钟会向上下左右四个方向的苹果传播一次病菌，并导致相邻的苹果腐烂。
    // 请问经过多少分钟，网格中不存在完好的苹果。如果有苹果永远不会腐烂则返回 -1
    //数据范围：1≤n,m≤1000  ，网格中的值满足0≤val≤2
    //示例1
    //输入：
    //[[2,1,1],[1,0,1],[1,1,1]]
    // 2 1 1
    // 1 0 1
    // 1 1 1
    //返回值：
    //4
    //示例2
    //输入：
    //[[2,1,0],[1,0,1],[0,0,0]]
    // 2 1 0
    // 1 0 1
    // 0 0 0
    //返回值：
    //-1
    public class Solution{
        int[] dx = {0,0,1,-1};
        int[] dy = {1,-1,0,0};

        public int rotApple(ArrayList<ArrayList<Integer>> grid){
            int m = grid.size();
            int n = grid.get(0).size();
            boolean[][] vis = new boolean[m][n];

            Queue<int[]> q = new LinkedList<>();

            for (int i = 0; i < m; i++) {
                for (int j = 0; j < n; j++) {
                    if (grid.get(i).get(j) == 2){
                        q.add(new int[]{i,j});
                    }
                }
            }
            int ret = 0;
            while (!q.isEmpty()){
                int sz = q.size();
                while(sz--!=0){
                    int[] t =q.poll();
                    int a = t[0],b = t[1];
                    for (int i = 0; i < 4; i++) {
                        int x =a+dx[i], y =b+dy[i];
                        if (x>=0 && x<m && y>=0 && y<n && vis[x][y] == false && grid.get(x).get(y) == 1){
                            vis[x][y] = true;
                            q.add(new int[] {x,y});
                        }
                    }
                }
                ret++;
            }

            for (int i = 0; i < m; i++) {
                for (int j = 0; j < n; j++) {
                    if (grid.get(i).get(j) == 1 && !vis[i][j]){
                        return -1;
                    }
                }
            }
            return ret-1;
        }
    }

    //游游的you（贪心+模拟）
    //链接：https://www.nowcoder.com/questionTerminal/cd117803b3364b218a8b3dcc498dee25
    //来源：牛客网
    //游游现在有a个'y'，b个'o'，c个'u'，他想用这些字母拼成一个字符串。
    //三个相邻的字母是"you"可以获得2分，两个相邻的字母是"oo"，可以获得1分。
    //问最多可以获得多少分？
    //输入描述:
    //第一行一个整数q，代表询问次数。
    //接下来q行，每行三个正整数
    //a,b,c，用空格隔开。
    //1≤q≤10^5
    //1≤a,b,c≤10^9
    //输出描述:
    //输出q行，代表每次询问的答案。
    //示例1
    //输入
    //3
    //1 1 1
    //2 3 2
    //1 5 2
    //输出
    //2
    //4
    //5
    //说明
    //第一次询问，可以拼出"you"，获得2分。
    //第二次询问，可以拼出"oyouyou"，获得4分。
    //第三次询问，可以拼出"uooooyou"，获得5分。
    //算法思路：
    //由题意得：
    //◦ you 和 oo 是相互独⽴的；
    //◦ 但是 you 的分值更⾼，因此我们应该优先去拼凑 you，然后再考虑 oo
    public static void main1(String[] args) {
        Scanner s = new Scanner(System.in);

        int n = s.nextInt();
        int a,b,c;

        while(n-- !=0){
            a=s.nextInt();
            b=s.nextInt();
            c=s.nextInt();
            int x = Math.min(a,Math.min(b,c));
            System.out.println(x *2 +Math.max(b-x-1,0));
        }
    }
}
